body {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Barlow", sans-serif;
}
.wrapper {
position: fixed;
top: 0;
right: -100%;
height: 100%;
width: 100%;
background: #000;
transition: all 0.6s ease-in-out;
display: grid;
place-items: center;
}
#active:checked~.wrapper {
right: 0;
}
.menuToggle {
position: absolute;
z-index: 2;
right: 20px;
top: 20px;
height: 50px;
width: 50px;
text-align: center;
line-height: 50px;
border-radius: 50%;
font-size: 20px;
cursor: pointer;
transition: all 0.3s ease-in-out;
}
.menuToggle span,
.menuToggle::before,
.menuToggle::after {
content: "";
position: absolute;
top: calc(50% - 1px);
left: 30%;
width: 50%;
border-bottom: 3px solid #000;
transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menuToggle::before {
transform: translateY(-8px);
}
.menuToggle::after {
transform: translateY(8px);
}
#active:checked+.menuToggle span {
transform: scaleX(0);
}
#active:checked+.menuToggle::before {
transform: rotate(45deg);
border-color: #fff;
}
#active:checked+.menuToggle::after {
transform: rotate(-45deg);
border-color: #fff;
}
.wrapper ul {
list-style: none;
margin: 0;
padding: 0;
position: absolute;
height: 90%;
}
.wrapper ul li {
margin: 30px 0;
height: 10%;
}
.wrapper ul li a {
position: absolute;
line-height: 50px;
margin: 5px 30px;
padding: 5px 30px;
text-decoration: none;
font-size: 30px;
font-weight: 600;
text-transform: uppercase;
color: #fff;
opacity: 0;
transition: all 0.3s ease;
transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.wrapper ul li a:hover::after {
transform: scaleY(1);
}
.wrapper ul li a:hover {
color: #4b99ff;
}
input[type="checkbox"] {
display: none;
}
#active:checked~.wrapper ul li a {
opacity: 1;
}
.wrapper ul li a {
transition: opacity 1.2s, transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
transform: translateX(100px);
}
#active:checked~.wrapper ul li a {
transform: none;
transition-timing-function: ease, cubic-bezier(.1, 1.3, .3, 1);
transition-delay: .6s;
transform: translateX(-100px);
}